<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<script src="./js/vue.js"></script>
<style>
    .wrap{
        width: 200px;
        height: 200px;
        background-color: red;
    }
    .inner{
        width: 100px;
        height: 100px;
        background-color: green;
    }
    .zuiwai{
        width: 300px;
        height: 300px;
        background-color: pink;
    }
</style>
<body>
    <div class="box">
        <!-- .prevent 阻止浏览器的默认行为 -->
        <a :href="url" @click.prevent>百度一下</a>

        <!-- 事件冒泡 阻止事件 触发事件是谁，是谁就在谁的事件后面加修饰符.stop   -->
        <!-- <div class="wrap" @click="outer">
            <div class="inner" @click.stop="inner"></div>
        </div> -->
        <!-- 只执行一次 -->
        <button @click.once="btn">点击一下</button>

        <!--capture 使用的是事件捕获   捕获是从外到里 -->
       <!--  <div class="wrap" @click.capture="outer">
            <div class="inner" @click="inner"></div>
        </div> -->
        <div class="zuiwai">
            <div class="wrap" @click.self="outer">
                <div class="inner" @click="inner"></div>
            </div>
        </div>
        <!-- 事件修饰符
        .stop
        .prevent
        .once
        .self
        .capture
        .passive
        可以单独使用，也可以串联使用，顺序不同效果不同
        -->
    </div>
    <script>
        let vm = new Vue({
            el:'.box',
            data:{
                msg:'xxx',
                url:'http://baidu.com'
            },
            methods: {
                outer(e){
                    console.log('这是外面的盒子');
                    console.log(e.target);
                },
                inner(e){
                    console.log('这是里面的盒子');
                    console.log(e.target);
                },
                btn(){
                    console.log('btn');
                }
            },
        })
    </script>
</body>
</html>